/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.adsi.logica;

import com.adsi.modelo.Consignaciones;
import com.adsi.persistencia.IConsignacionDAO;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author Estudiante
 */
@Stateless
public class LogicaConsignacion implements LogicaConsignacionLocal {
     
    @EJB
    private IConsignacionDAO consignacionesDAO;
    
    @Override
    public void registrar(Consignaciones c) throws Exception {
        if(c==null){
            throw new Exception("La consignacion no tiene informacion");
        }
        /*
        if(c.getCuentas().getCliCedula()== null){
            throw  new Exception("El documento es Obligatorio");
        }
        */
        Consignaciones objConsignacion = consignacionesDAO.consutarPorCogyNum(c.getConsignacionesPK().getConCodigo(),c.getConsignacionesPK().getCueNumero());
        if(objConsignacion != null){
            throw new Exception("La consignacion a registrar ya existe");
        }
        consignacionesDAO.registrar(c);
    }
    

    @Override
    public void modificar(Consignaciones c) throws Exception {
        if(c==null){
            throw new Exception("La consignacion no tiene informacion");
        }
        /*
        if(c.getCuentas().getCliCedula()== null){
            throw  new Exception("El documento es Obligatorio");
        }
        */
        Consignaciones objConsignacion = consignacionesDAO.consutarPorCogyNum(c.getConsignacionesPK().getConCodigo(),c.getConsignacionesPK().getCueNumero());
        if(objConsignacion != null){
            throw new Exception("La consignacion a modificar ya existe");
        }
        consignacionesDAO.modificar(c);
    }

    @Override
    public void eliminar(Consignaciones c) throws Exception {
        Consignaciones objConsignaciones=consignacionesDAO.consutarPorCogyNum(c.getConsignacionesPK().getConCodigo(),c.getConsignacionesPK().getCueNumero());
        if(objConsignaciones == null){
            throw new Exception("La consignacion a eliminar no existe");
        }
        consignacionesDAO.eliminar(objConsignaciones);
    }

    @Override
    public List<Consignaciones> consutar() throws Exception {
        return consignacionesDAO.consutar();
    }

    @Override
    public Consignaciones consutarPorCogyNum(long codigo, String numero) throws Exception {
        if(codigo == 0 && "".equals(numero)){
          throw new Exception("Debe ingresar el codigo y numero ");  
        }
        return consignacionesDAO.consutarPorCogyNum(codigo, numero);
    }
}
